﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using com.creditos.be.liclSolcred;
using com.creditos.be.liclUtil;

namespace com.creditos.bl.interfaces.liclSolcred
{
    [ServiceContract(Namespace = "http://com.creditos.bl.interfaces.liclSolcred", Name = "IProductoBL", SessionMode = SessionMode.Allowed)]
    public interface IProductoBL
    {
        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, AsyncPattern = false, Action = "ListarProductos")]
        List<ProductoBE> ListarProductos(ProductoBE oProductosBE);

        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, AsyncPattern = false, Action = "ListarSubProductos")]
        List<SubProductoBE> ListarSubProductos(ProductoBE oProductosBE);

        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, AsyncPattern = false, Action = "ListarTipoEvaluacion")]
        List<ParametroBE> ListarTipoEvaluacion(ParametroBE oParametroBE);

        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, AsyncPattern = false, Action = "ListarCampana")]
        List<CampanaBE> ListarCampana(ParametroBE oParametroBE);

        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, AsyncPattern = false, Action = "ListarCanalVenta")]
        List<CanalVentaBE> ListarCanalVenta(CanalVentaBE oCanalVentaBE);

        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, AsyncPattern = false, Action = "ListarCiiu")]
        List<CiiuBE> ListarCiiuGrupo(CiiuBE oCiiu);

        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, AsyncPattern = false, Action = "ListarAgencia")]
        List<AgenciaBE> ListarAgencia();

        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, AsyncPattern = false, Action = "ListarRepresentante")]
        List<RepresentanteBE> ListarRepresentante(RepresentanteBE oRepresentante);

        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, AsyncPattern = false, Action = "ListarUbigeo")]
        List<UbigeoBE> ListarUbigeo(UbigeoBE oUbigeo);
    }
}
